/*##############################################################################
 facturas.html
 */
var diferenciador = 1;

function cancela(){
    document.getElementById('cliente').style.display="block";
    document.getElementById('cliente').style.display="visible";
	
    document.getElementById('productos').style.display="block";    
    document.getElementById('productos').style.display="visible";
	
    document.getElementById('confirmacion').style.display="block";
    document.getElementById("confirmacion").style.display="none";
	
    document.getElementById('continuar').style.display="block";
    document.getElementById("continuar").style.display="none";
	
    document.getElementById('cancelar').style.display="block";
    document.getElementById("cancelar").style.display="none";
	
    document.getElementById("confirma").style.display="block";
    document.getElementById("confirma").style.display="visible";
	
    var productos = document.getElementById("productosx");
    //var importe = document.getElementById("manox");
    
    productos.removeChild( productos.lastChild );
    //importe.removeChild( importe.lastChild );
    
}
function termina()
{
	var laforma=document.getElementById("laforma");
	if(vacio(laforma.importeamano.value)==false)
	{
		alert("Falta importe a mano.");
		return false;
	}
	else
	{
		return true;
	}
}
function esNumero(n)
{
	if (/^[0-9]([0-9])*$/.test(n) )
	{
		return true;
	}
	return false;
}
function vacio(q) {
    for( i = 0; i < q.length; i++ )
    {
        if( q.charAt(i) != " " )
		{return true;}
    }
    return false;
}
function validaTelefono(q)
{
	if(/^\d((\d)*( )*(\d))*$/.test(q))
	{
		return true;
	}
	return false;
}
function esFlotante(n){
	return /^[0-9]([0-9])*.[0-9][0-9]$/.test(n);
}
function soloLetras(q)
{
	if(/^([A-Z]|Ñ)([A-Z]|Ñ| )*$/.test(q))
	{
		return true;
	}
	return false;
}
function tieneAcentos(q) {
	for ( i = 0; i < q.length; i++ ) {
		if ( q.charAt(i) == "ú"||q.charAt(i) == "é"||q.charAt(i) == "í"||q.charAt(i) == "ó"||q.charAt(i) == "á" )
		{
			return true;
		}
	}
	return false;
}
function valida(){
    var forma= document.getElementById("laforma");
    var esBueno=true;
    if(vacio(forma.folio.value) == false ) {
        esBueno=false;
        document.getElementById("folio_alert").innerHTML="* Campo Requerido";
        //alert("campo 'Folio' vacio.")
        ////return false
    }
	if(vacio(forma.folio.value)!=false&&esNumero(forma.folio.value)==true)
	{
		document.getElementById("folio_alert").innerHTML=" ";
	}
	
	if(vacio(forma.folio.value) != false&&esNumero(forma.folio.value)==false ){
		esBueno=false;
		document.getElementById("folio_alert").innerHTML="* No es n&uacute;mero";
	}
	
    if(vacio(forma.fecha.value) == false ) {
        esBueno=false;
        document.getElementById("fecha_alert").innerHTML="* Campo Requerido";
        //alert("campo 'Folio' vacio.")
        //return false
    }
    if(vacio(forma.nombre.value) == false ) {
		esBueno=false;
		document.getElementById("nombre_alert").innerHTML="* Campo Requerido";
		//alert("campo 'Folio' vacio.")
		//return false
    }
	if(vacio(forma.nombre.value) != false && tieneAcentos(forma.nombre.value) != false ) {
		esBueno=false;
		document.getElementById("nombre_alert").innerHTML="* No use acentos";
		
	}
	
	if(vacio(forma.nombre.value) != false && tieneAcentos(forma.nombre.value) == false ) {
		
		forma.nombre.value=forma.nombre.value.toUpperCase();
		if(soloLetras(forma.nombre.value)==true){
			document.getElementById("nombre_alert").innerHTML=" ";
		}
		else{
			esBueno=false;
			document.getElementById("nombre_alert").innerHTML="* Únicamente letras";
		}
		
	}
	//alert(esBueno);
    if(vacio(forma.paterno.value) == false ) {
        esBueno=false;
        document.getElementById("paterno_alert").innerHTML="* Campo Requerido";
    }
	
	if(vacio(forma.paterno.value) != false && tieneAcentos(forma.paterno.value) != false ) {
		esBueno=false;
		document.getElementById("paterno_alert").innerHTML="* No use acentos";
		
	}
	if(vacio(forma.paterno.value) != false && tieneAcentos(forma.paterno.value) == false ) {
		
		forma.paterno.value=forma.paterno.value.toUpperCase();
		if(soloLetras(forma.paterno.value)==true){
			document.getElementById("paterno_alert").innerHTML=" ";
		}
		else{
			esBueno=false;
			document.getElementById("paterno_alert").innerHTML="* Únicamente letras";
		}
		
	}
	
	if(vacio(forma.materno.value) == false ) {
        esBueno=false;
        document.getElementById("materno_alert").innerHTML="* Campo Requerido";
    }
	
	if(vacio(forma.materno.value) != false && tieneAcentos(forma.materno.value) != false ) {
		esBueno=false;
		document.getElementById("materno_alert").innerHTML="* No use acentos";
		
	}
	if(vacio(forma.materno.value) != false && tieneAcentos(forma.materno.value) == false ) {
		
		forma.materno.value=forma.materno.value.toUpperCase();
		if(soloLetras(forma.materno.value)==true){
			document.getElementById("materno_alert").innerHTML=" ";
		}
		else{
			esBueno=false;
			document.getElementById("materno_alert").innerHTML="* Únicamente letras";
		}
		
	}
	
    if(vacio(forma.direccion.value) == false ) {
        esBueno=false;
        document.getElementById("direccion_alert").innerHTML="* Campo Requerido";
    }
    if(vacio(forma.direccion.value) != false ) {
		forma.direccion.value=forma.direccion.value.toUpperCase();
        document.getElementById("direccion_alert").innerHTML=" ";
    }
	
    if(vacio(forma.cp.value) == false ) {
        esBueno=false;
        document.getElementById("cp_alert").innerHTML="* Campo Requerido";
    }
	if(vacio(forma.cp.value) != false && esNumero(forma.cp.value)!=true) {
        esBueno=false;
        document.getElementById("cp_alert").innerHTML="* Solo números";
    }
    if(vacio(forma.cp.value) != false && esNumero(forma.cp.value)==true) {
        document.getElementById("cp_alert").innerHTML=" ";
    }
    if(vacio(forma.telefono.value) == false ) {
        esBueno=false;
        document.getElementById("telefono_alert").innerHTML="* Campo Requerido";
    }
	if(vacio(forma.telefono.value) != false && esNumero(forma.telefono.value)!=true) {
        esBueno=false;
        document.getElementById("telefono_alert").innerHTML="* Solo números";
    }
    if(vacio(forma.telefono.value) != false && esNumero(forma.telefono.value)==true) {
        document.getElementById("telefono_alert").innerHTML=" ";
    }
    
    if(vacio(forma.rfc.value) == false ) {
        esBueno=false;
        document.getElementById("rfc_alert").innerHTML="* Campo Requerido";
    }
    if(vacio(forma.rfc.value) != false ) {
		forma.rfc.value=forma.rfc.value.toUpperCase();
		document.getElementById("rfc_alert").innerHTML=" ";
    }
	
	
	var esBuenoProductos=true;
	for(var i=0;i<diferenciador;i++){
		//var producto = document.createElement("p");
		var cantidad = document.getElementById("cantidad"+i).value;
		var descripcion = document.getElementById("descripcion"+i).value;
		var precioU = document.getElementById("precioU"+i).value;
		
		if((vacio(cantidad)!=true||vacio(descripcion)!=true||vacio(precioU)!=true)&&esBuenoProductos==true)
		{
			esBuenoProductos=false;
			esBueno=false;
			document.getElementById("texto_tabla").innerHTML="* Faltan datos de producto";
			
		}
		if(esBuenoProductos==true&&esNumero(cantidad)!=true&&vacio(cantidad)!=false)
		{
			esBuenoProductos=false;
			esBueno=false;
			document.getElementById("texto_tabla").innerHTML="* La cantidad debe ser número entero";
		}
		
		if(esBuenoProductos==true&&esFlotante(precioU)!=true&&vacio(precioU)!=false)
		{
			esBuenoProductos=false;
			esBueno=false;
			document.getElementById("texto_tabla").innerHTML="* El precio debe estar en 0.00";
		}
		
	}
	if(esBuenoProductos==true)
	{
		document.getElementById("texto_tabla").innerHTML=" ";
		
	}
	if(esBueno==true)
	{
		confirmar();
	}
	/*alert(esbueno);
	 if(esBueno==false){
	 //return false;
	 }else{
	 alert("listo");
	 confirmar();
	 //return true
	 }*/
}

function confirmar(){
	document.getElementById('cliente').style.display="block";
	document.getElementById('cliente').style.display="none";
	
	document.getElementById('productos').style.display="block";
	document.getElementById('productos').style.display="none";
	
	document.getElementById("confirmacion").style.display="block";
	document.getElementById("confirmacion").style.display="visible";
	
	document.getElementById("continuar").style.display="block";
	document.getElementById("continuar").style.display="visible";
	
	document.getElementById("cancelar").style.display="block";
	document.getElementById("cancelar").style.display="visible";
	
	document.getElementById("confirma").style.display="block";
	document.getElementById("confirma").style.display="none";
	
	var nombre = document.getElementById("nombre").value;
	var paterno = document.getElementById("paterno").value;
	var materno = document.getElementById("materno").value;
	var direccion = document.getElementById("direccion").value;
	var cp = document.getElementById("cp").value;
	var telefono = document.getElementById("telefono").value;
	var RFC = document.getElementById("rfc").value;
	var folio =  document.getElementById("folio").value;
	var fecha = document.getElementById("fecha").value;
	var condicion = document.getElementById("condiciones").value;
	document.getElementById("nombrex").innerHTML = nombre;
	document.getElementById("paternox").innerHTML = paterno;
	document.getElementById("maternox").innerHTML = materno;
	document.getElementById("direccionx").innerHTML = direccion;
	document.getElementById("cpx").innerHTML = cp;
	document.getElementById("telefonox").innerHTML = telefono;
	document.getElementById("rfcx").innerHTML = RFC;
	document.getElementById("foliox").innerHTML = folio;
	document.getElementById("fechax").innerHTML = fecha;
	document.getElementById("condicionx").innerHTML = condicion;
	
	var subtotal = 0;
	var tablaproductos = document.createElement("table");
	tablaproductos.border="0";
	tablaproductos.style.textAlign= "center";
	tablaproductos.style.fontSize= "14px";
	tablaproductos.style.borderColor= "slategray";
	tablaproductos.style.borderStyle= "solid";
	var a = document.createElement("td");
	a.innerHTML = "Cantidad";
	a.align = "center";
	a.style.width="80px";
	a.style.color="snow";
	a.style.backgroundColor="slategray";
	var b = document.createElement("td");
	b.innerHTML = "Descripci&oacute;n";
	b.align = "center";
	b.style.width="300px";
	b.style.color="snow";
	b.style.backgroundColor="slategray";
	var c = document.createElement("td");
	c.innerHTML = "Precio Unitario";
	c.align = "center";
	c.style.width="110px";
	c.style.color="snow";
	c.style.backgroundColor="slategray";
	var titulos = document.createElement("tr");
	titulos.appendChild(a);
	titulos.appendChild(b);
	titulos.appendChild(c);
	tablaproductos.appendChild(titulos);
	for(var i=0;i<diferenciador;i++){
		//var producto = document.createElement("p");
		var cantidad = document.getElementById("cantidad"+i).value;
		var descripcion = document.getElementById("descripcion"+i).value;
		var precioU = document.getElementById("precioU"+i).value;
		var importe = cantidad*precioU;
		document.getElementById("importe"+i).value = importe;
		var fila = document.createElement("tr");
		var cant = document.createElement("td");
		cant.align = "center";
		var descr = document.createElement("td");
		descr.align = "center";
		var preU = document.createElement("td");
		preU.align = "center";
		cant.innerHTML = cantidad;
		descr.innerHTML = descripcion;
		preU.innerHTML = precioU;
		fila.appendChild(cant);
		fila.appendChild(descr);
		fila.appendChild(preU);
		tablaproductos.appendChild(fila);
		//producto.innerHTML = cantidad+" "+descripcion+" "+precioU+" "+importe;
		//contenido.appendChild(producto);
		subtotal+=importe;
	}
	
	var iva = (subtotal*.16);
	var total = subtotal;
	
	var versubtotal = (subtotal-iva);
	var verIVA = iva;
	var verTotal = total;
	
	/*var importeAmano = document.createElement("input");
	 importeAmano.type="text";
	 importeAmano.name="importeamano";
	 importeAmano.id="importeamano";
	 importeAmano.size="65";
	 */
	document.getElementById("subtotal").value = (subtotal-iva);
	document.getElementById("iva").value = iva;
	document.getElementById("total").value = total;
	document.getElementById("nprod").value = diferenciador;
	
	document.getElementById("productosx").appendChild(tablaproductos);
	document.getElementById("subtotalx").innerHTML = versubtotal;
	document.getElementById("ivax").innerHTML = verIVA;
	document.getElementById("totalx").innerHTML = verTotal;
	//document.getElementById("manox").appendChild(importeAmano);
}

function agregarProducto(){
	var tr = document.createElement("tr");
	var td1 = document.createElement("td");
	var td2 = document.createElement("td");
	var td3 = document.createElement("td");
	var td4 = document.createElement("td");
	td1.innerHTML = "<input type='text' name='cantidad"+diferenciador+"' id='cantidad"+diferenciador+"'>";
	td2.innerHTML = "<input type='text' name='descripcion"+diferenciador+"' id='descripcion"+diferenciador+"'>";
	td3.innerHTML = "<input type='text' name='precioU"+diferenciador+"' id='precioU"+diferenciador+"'>";
	td4.innerHTML = "<input type='hidden' name='importe"+diferenciador+"' id='importe"+diferenciador+"'>";
	tr.appendChild(td1);
	tr.appendChild(td2);
	tr.appendChild(td3);
	tr.appendChild(td4);
	var productos = document.getElementById("productos");
	productos.appendChild(tr);
	diferenciador = diferenciador + 1;
}